home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (C) 1986 by M. J. Shannon, Jr.
- ** Permission to distribute for non-commercial uses granted as long as this
- ** notice is retained. Violators will be prosecuted.
- */
-
- #include "mpu.h"
-
- /* mpu_id():
- ** obtains the version & revision numbers of the MPU firmware and formats
- ** it into a string suitable for printing. The address of the (static)
- ** string is returned.
- */
-
- char *
- mpu_id()
- {
- static char vers_string[9];
- register int v, r;
- register char *p = &vers_string[0];
-
- v = mpu_get(GET_VERSION);
- r = (v >> 4) & 0x0F;
- if (r > 9)
- *p++ = '1', r -= 10;
- *p++ = r + '0';
- *p++ = '.';
- v &= 0x0F;
- if (v > 9)
- *p++ = '1', v -= 10;
- *p++ = v + '0';
- r = mpu_get(GET_REVISION);
- if (r)
- {
- if (r > 0)
- {
- if (r > 26)
- {
- *p++ = 'r';
- v = r / 100;
- if (v) *p++ = v + '0', r -= v * 100;
- v = r / 10;
- if (v) *p++ = v + '0', r -= v * 10;
- if (r) *p++ = r + '0';
- }
- else
- *p++ = r + '@';
- }
- }
- *p = '\0';
- return (vers_string);
- }
-